Ergonomic keyboard user interface

ABSTRACT

Disclosed herein are system, method, and computer program product embodiments providing an ergonomic user interface keyboard. An embodiment operates by obtaining an accessibility measure corresponding to a finger of a user. An interface keyboard is configured based on an accessibility map corresponding to the accessibility measure of the finger. The interface keyboard associated with a device is displayed.

BACKGROUND

Touchscreen devices, such as tablet computers, have a standard digitalkeyboard that tries to mimic an ordinary QWERTY keyboard that isdifficult to use (relative to an ordinary keyboard). These digitalkeyboards mimic ordinary device keyboards in that they appear the sameregardless of which user is using the touchscreen device. Howeverdifferent users may have different preferences with regard to how theyprefer to use these digital keyboards.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings are incorporated herein and form a part of thespecification.

FIG. 1 is a block diagram showing example operations for providing colortheme maintenance for presentations, according to some embodiments.

FIG. 2 illustrates an example diagram of how accessibility may bemeasured for the different fingers of a hand, according to anembodiment.

FIG. 3 illustrates a diagram of an example default accessibility map,according to an embodiment.

FIG. 4 illustrates a diagram of an example customized accessibility map,according to an embodiment.

FIG. 5 illustrates a diagram of an example customized user interfacekeyboard (UIK), according to an embodiment.

FIG. 6 is a flowchart illustrating a process for providing an ergonomickeyboard user interface, according to some embodiments.

FIG. 7 is an example computer system useful for implementing variousembodiments.

In the drawings, like reference numbers generally indicate identical orsimilar elements. Additionally, generally, the left-most digit(s) of areference number identifies the drawing in which the reference numberfirst appears.

DETAILED DESCRIPTION

Provided herein are system, apparatus, device, method and/or computerprogram product embodiments, and/or combinations and sub-combinationsthereof, for providing an ergonomic keyboard user interface.

FIG. 1 is a block diagram 100 showing example operations for providingan ergonomic keyboard user interface, according to some embodiments. Auser 102 may interact with a computing device 104 using a user interfacekeyboard (UIK) 106. Computing device 104 may include any computingdevice that receives alpha-numeric or other input from a keyboard (i.e.,UIK 106). Example computing devices 104 include, but are not limited to,mobile phones, laptops, tablets, touchscreen computing devices,navigational systems, monitors, and televisions.

UIK 106 may include any digitally rendered keyboard that is accessibleto user 102. In an embodiment, UIK 106 may be rendered on a touchscreeninterface of computing device 104. In another embodiment, UIK 106 may bea light-projected keyboard that is projected on another surface (or thatis holographic in nature) but is responsive to a user's 102 finger andhand movements.

A keyboard mapping system (KMS) 108 may render or configure UIK 106 anydifferent number of ways depending on the capabilities and/orpreferences of user 102. User 102 capabilities may include finger andhand mobility and dexterity in using UIK 106. Depending on which user102 is operating UIK 106, those keys may be arranged in different ordersor sequences.

In another embodiment, KMS 108 may also configure UIK 106 based on whichapplication of computing device 104 (including web-based and cloud basedapplications) is currently interacting with the keyboard input from UIK106 or is currently active on computing device 104. For example,different applications or programs operating on or via computing device104 may require or accept input that varies from the standard keys of aQWERTY keyboard. KMS 108 may configure UIK 106 to display anyprogram-specific keys or keyboards (i.e., UIKs 106). For example, aparticular program may have its own UIK 106 that is configured for user102 in the manner described herein. UIK 106 may be configured on aper-user and/or per-application basis.

In an embodiment, KMS 108 may determine the capabilities, limitations,and/or preferences of user 102. Based on the determined or measured user102 capabilities or limitations, KMS 108 may arrange and configure thedisplay of UIK 106 accordingly. For example, KMS 108 may measure or testthe finger flexibility, mobility and hand placement preferences of user102 to configure how the keys of UIK 106 are to be arranged or displayedfor the user 102.

In an embodiment, user 102 may be missing a finger or may have limitedmobility or flexibility in one or more fingers due to injury or anothercondition. KMS 108 may determine to what extent the injury impacts theuser's ability to type or operate UIK 106, and may arrange UIK 106accordingly. The UIK 106 for the injured user 102 may vary from the UIK106 for a user 102 with full functionality in all fingers.

Accessibility measure 110 may include one or more values that provide anindication of the physical mobility and/or flexibility in the fingersand hands of user 102. In an embodiment, accessibility measure 110 maybe an indication of how far a user can reach or bend with differentfingers. KMS 108 may determine, track, measure or compute anaccessibility measure 110 for one or more fingers of user 102 in one orboth hands.

In an embodiment, KMS 108 may test all of the user's fingers, or user102 may specify for which finger(s) user 102 wants accessibility measure110 determined. For example, user 102 may know that a particular fingeris injured or have limited mobility, but that the remaining fingers arefine. Then, for example, user 102 may specify that only the injuredfinger is tested and particularly configured for by KMS 108.

In an embodiment, user 102 may specify a time period in which theparticularly configured UIK 106 is to be used as the default UIK 106.For example, if user 102 expects to regain full mobility in the fingerwithin two weeks, user 102 may specify an expiration period for theconfigured UIK 106 for two weeks. Then after the expiration period, thenext time user 102 logs into device 104, user 102 may be presented withUIK 106 for full finger mobility. In an embodiment, KMS 108 may providea visual indicator that communicates which UIK 106 is being displayed.The visual indicator may indicate which finger(s) are determined to havelimited mobility and are being accounted for with UIK 106.

KMS 108 may use different techniques or a combination of techniques tocalculate accessibility measure 110. In an embodiment, accessibilitymeasure 110 of a thumb may be measured different from the accessibilitymeasure 110 of the remaining fingers on account of the thumb movingdifferently (relative to the remaining fingers).

FIG. 2 illustrates an example diagram 200 of how accessibility may bemeasured for the different fingers of a hand, according to anembodiment. In an embodiment, the measuring as described herein may beperformed on a touchscreen user interface, such that KMS 108 can detectwhere a user touches in response to various input.

Initialization area 205 may be an indicator where a user 102 is to placethe base of their thumb on the palm of their right hand for testing ofthe right hand and/or fingers by KMS 108. KMS 108 may use initializationarea 205 to align the user's hand properly on the measuringdisplay/touchscreen interface before testing begins. In an embodiment,when KMS 108 detects that the user's hand has been placed oninitialization area 205, the testing may begin. In another embodiment,different or multiple initialization areas 205 may be used to align auser's hand and/or fingers for testing.

210 illustrates how accessibility measure 110 relative to thumb mobilitymay be measured by KMS 108. As shown in the example embodiment,accessibility measure 110 of the thumb may be horizontal mobility in away that movement is natural for the thumb 210.

In an embodiment, KMS 108 may determine a lateral mobility of the thumb,how far left and right the thumb of user 102 can touch or contacts onthe interface. For example, the user 102 may be prompted to swipe theirthumb left and right multiple times to determine what area or portion oftouch screen interface are contacted by or accessible to thumb 210.Accessibility measure 110 for thumb may then be computed as a left angleand a right angle corresponding to left and right movement, or a surfacearea indicator of what surface area is accessible to the thumb 210.

220 illustrates an example of how accessibility may be measured for theremaining fingers (other than thumb 210). As shown, finger 220 may bemeasured in terms of vertical flexibility or bendability. In anembodiment, the ability of finger 220 to bend may be divided into threedifferent sections 220A-C. KMS 108 may determine the ease, difficulty,or dexterity of finger 220 based on its ability to bend and touchsquares or other areas within each of three different sections 220A-C.The different mobility sections 220A-C may correspond to how much anormal finger can usually bend. However, for users with limitedmobility, fewer areas 220A-C may be tested. In another embodiment,horizontal mobility of fingers 220 may be tested as well. Accessibilitymeasure 110 may include one more values indicative of the bendabilityand/or horizontal mobility of a user's finger(s).

Returning to FIG. 1, a new user 102 who is using computing device 104may be asked whether the user 102 he wants or needs a custom UIK 106.For example, user with full mobility in all his fingers may opt to use astandard, or un-customized UIK 106 (based on a default map 114). Or, forexample, as discussed in greater detail below, the user 102 may stillconfigure UIK 106 based on particular user preferences saved as keypreferences 118 with regard to the visual arrangement of the keys of UIK106.

In an embodiment, if user 102 answers ‘yes’ requesting a customized UIK106, KMS 108 may then determine accessibility measure 110 for one ormore of the user's fingers. KMS 108 may launch a learning or testinginterface (e.g., via a touchscreen device) through which KMS 108 maymeasure the mobility or accessibility of the fingers of user 102 in eachhand (as described above with respect to FIG. 2, as an example).

For example, KMS 108 may prompt user 102 to place the bottom of theirright palm in initialization area 205. Upon detecting (through atouchscreen or other sensible user interface) that the user 102 hasplaced the palm of their hand on initialization area 205 or by receivinga user confirmation, KMS 108 may begin calibrating or measuring thefingers 220 and/or thumb 210 of user 102 on one or both hands. In anembodiment, user 102 may specify which fingers (including thumbs) theuser 102 wants measured.

In measuring thumb 210, KMS 108 may prompt user 102 to begin makingback-and-forth or left-and-right swiping motions with the thumb and tostretch their thumb as far as possible. Using touchscreen interface, KMS108 may record or measure the surface area covered through the thumbswiping motions. Or, for example, KMS 108 may prompt user to pressvarious displayed interface buttons with their thumb. KMS 108 may storemeasurements corresponding to the user's performance as accessibilitymeasure 110 for thumb 210. The performance measures may indicate thetime and/or success or accuracy with which the user 102 was able toperform whatever tests were administered.

In an embodiment, KMS 108 may provide a distinguishable user interfacebutton, such as a red triangle, that user 102 may select if the user 102is missing a thumb or has limited/no mobility in the thumb or otherfingers. This selection may be stored as accessibility measure 110 forthumb. In an embodiment, the selection may cause KMS 108 to skip testingof the indicated digit and record that the user 102 cannot use theindicated finger for providing keyboard input. For example, ifaccessibility measure 110 is a Null, Void, or negative value, KMS 108may determine that the user is missing or otherwise has no mobility inthe given index/finger/thumb. Or, for example, if the user is missing afinger, the accessibility measure 110 may be relative to the remainingfingers.

KMS 108 may also perform tests on the remaining fingers 220 to see howmuch each finger can bend vertically and/or reach horizontally. In anembodiment, KMS 108 may prompt the user 102 to use one finger ormultiple fingers at a time. For example, multiple fingers 220 may besimultaneously tested for mobility or bendability measures.

KMS 108 may include various techniques for measuring or detecting theusability, mobility, or disability of user 102 as indicated byaccessibility measure 110. One example of how to determine accessibilitymeasure 110 may be displaying a black and white chessboard with mediumgranularity on an interactive interface (such as a touchscreen). In anembodiment, medium granularity may be displaying 1 inch×1 inch squareson a touchscreen interface. However, these measurements may vary indifferent embodiments and may vary based on the size of a touch screenwhere UIK 106 is to be displayed.

After the user has set his hand on initialization area 205, one of thesquares of the rendered chessboard may change colors and the user 102may be prompted to press the indicated square without lifting the handfrom initialization area 205. In an embodiment, the prompt may include aprompt as to which finger is to be used to press the square, or mayallow the user 102 to use any finger to press it. KMS 108 may determinewhether user 102 was able to perform the requested action, how manytries it took, how long it took, and whether user 102 maintained or lostcontact with initialization area 205 while performing the requestedaction(s).

As referenced above, the testing interface of KMS 108 may include anoption that the user 102 may select if the user 102 is unable to reachthe red square with any finger or the indicated finger. Or, for example,if the user 102 has not touched the indicated square upon the expirationof a timeout period (e.g., 3 seconds) KMS 108 may determine that theuser 102 is unable access the indicated square due to finger mobilityissues. In an embodiment, KMS 108 may track how many other locations ona touchscreen interface user 102 may have touched prior to touching theindicated square. For example, a number of previous touches may indicatethat the user was trying and failing to touch the indicated squarebefore finally succeeding, and may indicate finger mobility issues.

This process of changing the color of one or more of the squares andprompting a user 102 to touch the indicated square(s) may be repeatedfor different fingers in the user's hands, at different granularities,until KMS 108 may compute accessibility measure 110.

In an embodiment, a threshold 130 may indicate a number of consecutivecorrect square touches or based on user 102 exceeding a threshold 130percentage of correctness. If user meets or exceeds threshold 130, KMS108 may determine that the user 102 has full mobility based on thetested granularity. KMS 108 may then decreased the square granularityand test the user 102 again to determine the user's dexterity or fingermobility. In an embodiment, this process may be repeated until KMS 108determines that the user has full mobility or until the user 102 failsat a particular granularity.

KMS 108 may test different granularities may be tested for a finger indifferent bendability areas or sections 220A-C based on user 102performance. In an embodiment, if user 102 fails to meet thresholdcorrectness requirement 130, the granularity of the squares may beincreased and the user 102 may be tested again. This process may berepeated until user 102 passes threshold 130 for at least onegranularity, or the largest granularity has been tested. In anembodiment, threshold 130 may indicate a number of incorrect touches ortimeouts that require UIK 106 configuration (e.g., that fall out of anexpected range of performance for user 102).

In another testing technique, KMS 108 may prompt user to place theirpalm on initialization area 205, and expand or extend their fingers asmuch as possible and/or place theirs fingers as close together aspossible without overlapping. Then, for example, based on touchscreeninterface, KMS 108 may determine the reach of the fingers of user 102.

KMS 108 may use any combination of testing techniques to compute orcalculate accessibility measures 110. In an embodiment, accessibilitymeasure 110 may be an area measure or value(s) corresponding to whatportions of an interface (of touch screen device 104) are accessible touser 102 given a starting hand-placement point of 205. With regard tothe fingers 220, accessibility measure 110 may indicate the furthestreach from and closest bend relative to initialization area 205. Inanother embodiment, accessibility measure 110 may indicate a length offingers from the user's palm or from initialization area 205.

In an embodiment, KMS 108 may have a default map 114 corresponding todefault measure 116. Default map 114 may indicate which keys of UIK 106are accessible to which fingers of a user 102 who is determined to havefull finger mobility or dexterity. Default map 114 may correspond to aninitial arrangement or placement of keys for UIK 106. In an embodiment,default map 114 may be based on a standard of modified QWERTY keyboardarrangement. For example, those keys which are generally accessible theright index finger on a standard QWERTY keyboard, would be accessible tothe right index finger in UIK 106 for default map 114.

Default measure 116 may indicate a baseline value or range of expectedvalues for accessibility measure 110 for the various fingers beingtested and may correspond to the test(s) that are administered. Thebaseline value or range of expected values may indicate an expectedmobility or bendability of particular finger. In an embodiment, theextent to which accessibility measure 110 varies or falls outside therange of a corresponding default measure 116 may determine the extent towhich KMS 108 alters accessibility map 112 (and UIK 106) for user 102from default map 114. In an embodiment, the baseline value 116 mayindicate which keys of a keyboard are normally accessible to each finger(e.g., of a user with full mobility).

FIG. 3 illustrates a diagram of an example default accessibility map114, according to an embodiment. Default map 114 shows which keys areaccessible to which fingers based on default measure 116. As may be seenfrom the example, the arrangement of keys accessible to each finger maycorrespond to a standard QWERTY keyboard map. In other embodiments,other keyboard map arrangements, other than QWERTY may be used as well.

KMS 108 may use accessibility map 112 (including default map 114) todetermine where on user interface to arrange various keys for UIK 106.In an embodiment, accessibility map 112 may indicate how much of avariance 120 (if any) exists between accessibility measure 110 forfingers of user 102 and a default or expected measure 116.

As referenced above, default measure 116 may indicate a range ofexpected values for accessibility measure 110, indicating full mobilityand corresponding to using default map 114. KMS 108 may compare defaultmeasure 116 to accessibility measure 110 to calculate variance 120 whichmay indicate to what extent user 102 has extra mobility or limitedmobility outside of the range of default measure 116. Based on variance120, KMS 108 may determine accessibility map 112. For example, a fingerwith limited mobility or flexibility may be assigned fewer keys thanindicated by default map 114. In an embodiment, variance 120 may becomputed on a per-finger or per-hand basis for a user 102.

FIG. 4 illustrates a diagram of an example customized accessibility map112, according to an embodiment. In an embodiment, user 102 may bemissing or have limited/no mobility in their left ring finger and pinky.KMS 108 may determine this variance 120 from default measure 116 basedon the testing process described above. KMS 108 may then generateaccessibility map 112 to account for variance 120.

As may be seen in the example of FIG. 4, the remaining fingers of lefthand may be responsible for reaching or accessing more keys than indefault accessibility map 114 as shown in FIG. 3. In another embodiment,key accesses normally assigned to the left hand may be shifted tofingers of the right hand based on variance 120. For example, if user102 only has one finger on the left hand, then KMS 108 may assign morekeys to the fingers of the right hand, rather than making the singleleft hand finger responsible for all the keys normally assigned to theleft hand.

In an embodiment, KMS 108 may customize or further configureaccessibility map 112 and the display of UIK 106 based on keypreferences 118 provided by user 102. KMS 108 prompt user 102 to typevarious letters, words, sentences, or other alphabetic, numeric, oralpha-numeric combinations using an initially configured UIK 106. Basedon how accurately and/or quickly a responds to the prompts, KMS 108 mayadjust accessibility map 112 or the display (size, arrangement,ordering) of keys of UIK 106.

In an embodiment, KMS 108 may display UIK 106 or accessibility map 112on an interface of device 104. KMS 108 may then allow or prompt user toadjust how user 102 prefers accessibility map 112 or UIK 106 to appear.For example, user 102 may use a drag-and-drop operation to adjust thedisplay of UIK 106. KMS 108 may then save the user's indication in keypreferences 118 and adjust accessibility map 112 accordingly.

Key preferences 118 may include any key preferences that are outside ofa default set of keys available or arrangement or display of keysparticular to user 102. Key preferences 118 may be provided by user 102,and/or may be determined based on which application(s) of computingdevice 104 are active or are receiving input from UIK 106. For example,a financial application may include currency key assignments which maybe frequently used with the financial application, and which may bedisplayed in UIK 106. The currency key assignments may be provided inaddition to the standards QWERTY keys or in lieu of some of the QWERTYkeys. Or, for example, a user who uses Greek lettering may choose toconfigure key preferences 118 to include one or more selectable Greekletters.

In an embodiment, KMS 108 may enable user 102 to configure and/or switchbetween multiple UIKs 106 which have been configured based onaccessibility map 112. For example, while alphabetic keys are shown inthe map 114 of FIG. 3. In other embodiments, different keyboard maps maybe used. For example, UIK 106 may display keys corresponding to numbers,currency, Greek letters, or other key maps in different languages. In anembodiment, user 102 may indicate which key maps to configure in keypreferences 118. In an embodiment, KMS 108 may configure each UIK 106for the different key preferences 118 based on a base accessibility map112. However, user may individually configure and adjust each associatedUIK 106. In a given session, user 102 may toggle or switch betweendifferent keyboard maps with different sets of keys.

FIG. 5 illustrates a diagram of an example customized user interfacekeyboard (UIK) 506, according to an embodiment. UIK 506 shows an exampleof a digital rendering (e.g., on a touchscreen interface or lightrendering) of a UIK 106 that has been configured based on anaccessibility map 112.

In an embodiment, UIK 506 may not visually display initialization area205. As noted above, initialization area 205 indicates a position ofwhere a user's palm is anticipated to be on or relative to the userinterface. The lines extending from 205 are representative ofaccessibility map 112 and show which keys are accessible with which userfingers (and may not be displayed).

In another embodiment, if the user's right index finger had limitedbendability or flexibility, then the “M” key may be positioned next tothe “U” key instead of underneath the “J” key. Or, for example, “M” maybe made accessible to the pinky. Which keys are accessible to whichfingers may be customized on a per-user and/or per-application basis.

In an embodiment, the rendering of UIK 506 may account for an angularplacement of user's palm on initialization area 205. For example, basedon which portion(s) of a touchscreen interface of device 104 iscontacted relative to initialization area 205, the angles at which thekeys are displayed may vary across different users. For example, KMS 108may provide two users 102 with full mobility different UIKs 506 based ontheir preference hand placement angles.

FIG. 6 is a flowchart illustrating a process 600 for providing anergonomic keyboard user interface, according to some embodiments. Method600 can be performed by processing logic that can comprise hardware(e.g., circuitry, dedicated logic, programmable logic, microcode, etc.),software (e.g., instructions executing on a processing device), or acombination thereof. It is to be appreciated that not all steps may beneeded to perform the disclosure provided herein. Further, some of thesteps may be performed simultaneously, or in a different order thanshown in FIG. 6, as will be understood by a person of ordinary skill inthe art.

At 610, an accessibility measure corresponding to a finger of a user isobtained. For example, KMS 108 may receive an indication from user 102that the user has limited mobility in one or more fingers. KMS 108 maythen test user 102 to determine the extent of the limitation and computeaccessibility measure 110 for one or more of the fingers, including thefinger with limited mobility and/or one or more of the other fingers.Accessibility measure 110 may indicate or correspond to how many keys ofa keyboard are accessible to the respective finger(s). In an embodiment,accessibility measure 110 may indicate a variance 120 from an expectedor default measure 116. Variance 120 may indicate which keys that arenormally accessible to a particular finger with full mobility are notaccessible to a corresponding finger of the user 102.

At 620, an interface keyboard is configured based on an accessibilitymap corresponding to the accessibility measure of the finger. Forexample, KMS 108 may determine an accessibility map 112 correspondingthe accessibility measures 110 of user 102. In an embodiment,accessibility map 112 may indicate or account for a variance 120 fromdefault map 114. Default map 114 may indicate a predetermined set ofkeys is accessible to one or more of the fingers based on defaultmeasure 116. Accessibility map 112 may indicate any variance 120 fromdefault 114.

At 630, the interface keyboard associated with a device is displayed.For example, computing device 104 may display UIK 106 or UIK 106 may beprojected on another surface. In an embodiment, KMS 108 may allow a userto test UIK 106 and further configure the appearance of UIK 106 orprovide key preferences 108. Then, for example, when user 102 logs in touse computing device 104, the customized or configured UIK 106 mayautomatically be provided for user 102. KMS 108 may also change whichUIK 106 is displayed based on which application is active on computingdevice 104.

Various embodiments may be implemented, for example, using one or morewell-known computer systems, such as computer system 700 shown in FIG.7. One or more computer systems 700 may be used, for example, toimplement any of the embodiments discussed herein, as well ascombinations and sub-combinations thereof.

Computer system 700 may include one or more processors (also calledcentral processing units, or CPUs), such as a processor 704. Processor704 may be connected to a communication infrastructure or bus 706.

Computer system 700 may also include user input/output device(s) 703,such as monitors, keyboards, pointing devices, etc., which maycommunicate with communication infrastructure 706 through userinput/output interface(s) 702.

One or more of processors 704 may be a graphics processing unit (GPU).In an embodiment, a GPU may be a processor that is a specializedelectronic circuit designed to process mathematically intensiveapplications. The GPU may have a parallel structure that is efficientfor parallel processing of large blocks of data, such as mathematicallyintensive data common to computer graphics applications, images, videos,etc.

Computer system 700 may also include a main or primary memory 708, suchas random access memory (RAM). Main memory 708 may include one or morelevels of cache. Main memory 708 may have stored therein control logic(i.e., computer software) and/or data.

Computer system 700 may also include one or more secondary storagedevices or memory 710. Secondary memory 710 may include, for example, ahard disk drive 712 and/or a removable storage device or drive 714.Removable storage drive 714 may be a floppy disk drive, a magnetic tapedrive, a compact disk drive, an optical storage device, tape backupdevice, and/or any other storage device/drive.

Removable storage drive 714 may interact with a removable storage unit718. Removable storage unit 718 may include a computer usable orreadable storage device having stored thereon computer software (controllogic) and/or data. Removable storage unit 718 may be a floppy disk,magnetic tape, compact disk, DVD, optical storage disk, and/ any othercomputer data storage device. Removable storage drive 714 may read fromand/or write to removable storage unit 718.

Secondary memory 710 may include other means, devices, components,instrumentalities or other approaches for allowing computer programsand/or other instructions and/or data to be accessed by computer system700. Such means, devices, components, instrumentalities or otherapproaches may include, for example, a removable storage unit 722 and aninterface 720. Examples of the removable storage unit 722 and theinterface 720 may include a program cartridge and cartridge interface(such as that found in video game devices), a removable memory chip(such as an EPROM or PROM) and associated socket, a memory stick and USBport, a memory card and associated memory card slot, and/or any otherremovable storage unit and associated interface.

Computer system 700 may further include a communication or networkinterface 724. Communication interface 724 may enable computer system700 to communicate and interact with any combination of externaldevices, external networks, external entities, etc. (individually andcollectively referenced by reference number 728). For example,communication interface 724 may allow computer system 700 to communicatewith external or remote devices 728 over communications path 726, whichmay be wired and/or wireless (or a combination thereof), and which mayinclude any combination of LANs, WANs, the Internet, etc. Control logicand/or data may be transmitted to and from computer system 700 viacommunication path 726.

Computer system 700 may also be any of a personal digital assistant(PDA), desktop workstation, laptop or notebook computer, netbook,tablet, smart phone, smart watch or other wearable, appliance, part ofthe Internet-of-Things, and/or embedded system, to name a fewnon-limiting examples, or any combination thereof.

Computer system 700 may be a client or server, accessing or hosting anyapplications and/or data through any delivery paradigm, including butnot limited to remote or distributed cloud computing solutions; local oron-premises software (“on-premise” cloud-based solutions); “as aservice” models (e.g., content as a service (CaaS), digital content as aservice (DCaaS), software as a service (SaaS), managed software as aservice (MSaaS), platform as a service (PaaS), desktop as a service(DaaS), framework as a service (FaaS), backend as a service (BaaS),mobile backend as a service (MBaaS), infrastructure as a service (IaaS),etc.); and/or a hybrid model including any combination of the foregoingexamples or other services or delivery paradigms.

Any applicable data structures, file formats, and schemas in computersystem 700 may be derived from standards including but not limited toJavaScript Object Notation (JSON), Extensible Markup Language (XML), YetAnother Markup Language (YAML), Extensible Hypertext Markup Language(XHTML), Wireless Markup Language (WML), MessagePack, XML User InterfaceLanguage (XUL), or any other functionally similar representations aloneor in combination. Alternatively, proprietary data structures, formatsor schemas may be used, either exclusively or in combination with knownor open standards.

In some embodiments, a tangible, non-transitory apparatus or article ofmanufacture comprising a tangible, non-transitory computer useable orreadable medium having control logic (software) stored thereon may alsobe referred to herein as a computer program product or program storagedevice. This includes, but is not limited to, computer system 700, mainmemory 708, secondary memory 710, and removable storage units 718 and722, as well as tangible articles of manufacture embodying anycombination of the foregoing. Such control logic, when executed by oneor more data processing devices (such as computer system 700), may causesuch data processing devices to operate as described herein.

Based on the teachings contained in this disclosure, it will be apparentto persons skilled in the relevant art(s) how to make and useembodiments of this disclosure using data processing devices, computersystems and/or computer architectures other than that shown in FIG. 7.In particular, embodiments can operate with software, hardware, and/oroperating system implementations other than those described herein.

It is to be appreciated that the Detailed Description section, and notany other section, is intended to be used to interpret the claims. Othersections can set forth one or more but not all exemplary embodiments ascontemplated by the inventor(s), and thus, are not intended to limitthis disclosure or the appended claims in any way.

While this disclosure describes exemplary embodiments for exemplaryfields and applications, it should be understood that the disclosure isnot limited thereto. Other embodiments and modifications thereto arepossible, and are within the scope and spirit of this disclosure. Forexample, and without limiting the generality of this paragraph,embodiments are not limited to the software, hardware, firmware, and/orentities illustrated in the figures and/or described herein. Further,embodiments (whether or not explicitly described herein) havesignificant utility to fields and applications beyond the examplesdescribed herein.

Embodiments have been described herein with the aid of functionalbuilding blocks illustrating the implementation of specified functionsand relationships thereof. The boundaries of these functional buildingblocks have been arbitrarily defined herein for the convenience of thedescription. Alternate boundaries can be defined as long as thespecified functions and relationships (or equivalents thereof) areappropriately performed. Also, alternative embodiments can performfunctional blocks, steps, operations, methods, etc. using orderingsdifferent than those described herein.

References herein to “one embodiment,” “an embodiment,” “an exampleembodiment,” or similar phrases, indicate that the embodiment describedcan include a particular feature, structure, or characteristic, butevery embodiment can not necessarily include the particular feature,structure, or characteristic. Moreover, such phrases are not necessarilyreferring to the same embodiment. Further, when a particular feature,structure, or characteristic is described in connection with anembodiment, it would be within the knowledge of persons skilled in therelevant art(s) to incorporate such feature, structure, orcharacteristic into other embodiments whether or not explicitlymentioned or described herein. Additionally, some embodiments can bedescribed using the expression “coupled” and “connected” along withtheir derivatives. These terms are not necessarily intended as synonymsfor each other. For example, some embodiments can be described using theterms “connected” and/or “coupled” to indicate that two or more elementsare in direct physical or electrical contact with each other. The term“coupled,” however, can also mean that two or more elements are not indirect contact with each other, but yet still co-operate or interactwith each other.

The breadth and scope of this disclosure should not be limited by any ofthe above-described exemplary embodiments, but should be defined only inaccordance with the following claims and their equivalents.

What is claimed is:
 1. A method, comprising: obtaining an accessibilitymeasure corresponding to a finger of a user, wherein the accessibilitymeasure corresponds to how many keys of a keyboard are accessible to thefinger; configuring an interface keyboard based on an accessibility mapcorresponding to the accessibility measure of the finger, wherein eachof a predetermined set of keys is accessible to one or more fingersbased on the accessibility map; and displaying the interface keyboardassociated with a device, wherein the device is operable to receiveinput from the interface keyboard.
 2. The method of claim 1, wherein theaccessibility measure for four fingers corresponds to a forward and backbendability of each of the fingers.
 3. The method of claim 2, whereinthe accessibility measure of a thumb corresponds to a lateral mobilityof the thumb.
 4. The method of claim 1, wherein the configuringcomprises: determining, based on the accessibility measure, that thefinger has limited mobility or bendability; and arranging the set ofkeys such that the finger with limited mobility or bendability isassigned fewer keys than another one of the plurality of fingers withgreater mobility or bendability than the particular one of the pluralityof fingers.
 5. The method of claim 4, wherein the determining comprises:comparing the accessibility measure of the finger to a baseline valueindicating an expected mobility or bendability of the finger todetermine a variance, wherein the variance corresponds to a measure ofthe limited mobility or bendability of the finger.
 6. The method ofclaim 1, wherein the displaying comprises: projecting the interfacekeyboard on a surface other than the device.
 7. The method of claim 1,wherein the obtaining comprises determining an angle of a hand placementof the user; and wherein the configuring comprises arranging thepredetermined set of keys based on the angle of the hand placement.
 8. Asystem, comprising: a memory; and at least one processor coupled to thememory and configured to: obtain an accessibility measure correspondingto a finger of a user, wherein the accessibility measure corresponds tohow many keys of a keyboard are accessible to the fingers; configure aninterface keyboard based on an accessibility map corresponding to theaccessibility measure of the finger, wherein each of a predetermined setof keys is accessible to one or more fingers based on the accessibilitymap; and display the interface keyboard associated with a device,wherein the device is operable to receive input from the interfacekeyboard.
 9. The system of claim 8, wherein the accessibility measurefor four fingers corresponds to a forward and back bendability of eachof the fingers.
 10. The system of claim 9, wherein the accessibilitymeasure of a thumb corresponds to a lateral mobility of the thumb. 11.The system of claim 8, wherein the processor that configures isconfigured to determine, based on the accessibility measure, that thefinger has limited mobility or bendability; and arrange the set of keyssuch that the finger with limited mobility or bendability is assignedfewer keys than another one of the plurality of fingers with greatermobility or bendability than the particular one of the plurality offingers.
 12. The system of claim 11, wherein the processor thatdetermines is configured to compare the accessibility measure of thefinger to a baseline value indicating an expected mobility orbendability of the finger to determine a variance, wherein the variancecorresponds to a measure of the limited mobility or bendability of thefinger.
 13. The system of claim 8, wherein the processor that displaysis configured to project the interface keyboard on a surface other thanthe device.
 14. The system of claim 8, wherein the processor thatobtains is configured to determine an angle of a hand placement of theuser; and wherein the processor that configures is configured to arrangethe predetermined set of keys based on the angle of the hand placement.15. A non-transitory computer-readable device having instructions storedon a memory thereon that when executed by at least one processor of thedevice, causes the at least one processor to perform operationscomprising: obtaining an accessibility measure corresponding to a fingerof a user, wherein the accessibility measure corresponds to how manykeys of a keyboard are accessible to the finger; configuring aninterface keyboard based on an accessibility map corresponding to theaccessibility measure of the finger, wherein each of a predetermined setof keys is accessible to one or more fingers based on the accessibilitymap; and displaying the interface keyboard associated with a device,wherein the device is operable to receive input from the interfacekeyboard.
 16. The device of claim 15, wherein the accessibility measurefor four fingers corresponds to a forward and back bendability of eachof the fingers.
 17. The device of claim 16, wherein the accessibilitymeasure of a thumb corresponds to a lateral mobility of the thumb. 18.The device of claim 15, wherein the processor that performs theconfiguring is configured to perform operations comprising: determining,based on the accessibility measure, that the finger has limited mobilityor bendability; and arranging the set of keys such that the finger withlimited mobility or bendability is assigned fewer keys than another oneof the plurality of fingers with greater mobility or bendability thanthe particular one of the plurality of fingers.
 19. The device of claim18, wherein the processor performs the determining is configured toperform operations comprising: comparing the accessibility measure ofthe finger to a baseline value indicating an expected mobility orbendability of the finger to determine a variance, wherein the variancecorresponds to a measure of the limited mobility or bendability of thefinger.
 20. The device of claim 15, wherein the processor performs thedisplaying is configured to perform operations comprising: projectingthe interface keyboard on a surface other than the device.